package com.tiancheng.trade.payment.vo.api;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.util.List;

/**
 * 退款，退款接口专用
 */
@Getter
@Setter
@ToString
public class RefundOrderVO {

	/** 用户ID */
	@NotEmpty
	private String uid;

	/** 退款单号  */
	@NotEmpty
	private String paymentId;

	/** 对应的支付流水号 */
	@NotEmpty
	private String payFlowId;

	/** 退款金额 */
	@NotNull
	private Integer amount;

	/** 订单金额 */
	@NotNull
	private Integer orderAmount;

	/** 退款原因 */
	private String reason;

	/** 优惠总金额 */
	private Integer discount;

	/** 子订单信息 */
	@Valid
	@NotEmpty
	private List<RefundSubOrderVO> subOrders;
}
